package com.yidu.erp.service.BeyondDrug;

import java.util.HashMap;

import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.yidu.common.Tools;
import com.yidu.erp.dao.BeyondDosMapper;
import com.yidu.erp.dao.BeyondInventoryMapper;
import com.yidu.erp.model.BeyondDos;
import com.yidu.erp.model.BeyondInventory;
/**
 * 配料的接口类
 * @author 杨sir
 *
 */
@Service
public class DosingServiceImp implements DosingService{
	/**
	 * 配料的dao方法
	 */
	@Resource
	private BeyondDosMapper beyondDosMapper;
	/**
	 * 库存的dao方法
	 */
	@Resource
	private BeyondInventoryMapper beyondInventoryMapper;
	/**
	 * 查询所有配料信息分页
	 */
	@Override
	public Map<String, Object> selectAll(Map<String, Object> param) {
		//Map集合
		Map<String, Object> map = new HashMap<String, Object>();
		//map传值查询所有信息
		map.put("data", beyondDosMapper.selectAll(param));
		//显示几行传值查询所有行数
		map.put("count", beyondDosMapper.selectAllRowCount(param));
		//第几行开始
		map.put("code", 0);
		//消息
		map.put("msg", 0);
		//返回map集合
		return map;
		
	}
	/**
	 * 删除的方法
	 */
	@Override
	public int deleteByPrimaryKey(String dosId) {
		// TODO Auto-generated method stub
		//返回删除方法
		return beyondDosMapper.deleteByPrimaryKey(dosId);
	}
	/**
	 * 根据id查询所有信息的方法
	 */
	@Override
	public BeyondDos queryId(String dosId) {
		// TODO Auto-generated method stub
		//根据id查询所有信息的方法
		return beyondDosMapper.queryId(dosId);
	}
	/**
	 * 增改的方法
	 */
	@Override
	public int addOrUpdate(BeyondDos beyondDos) {
		//定义一个值
		int rows = 0;
		//首先根据字符串判断是否为空
		if(Tools.isEmpty(beyondDos.getDosId())){
			//为空则增加
			rows = beyondDosMapper.insertSelective(beyondDos);
			//新建库存对象
			BeyondInventory inventory=new BeyondInventory();
			//设置存入物品的编号
			inventory.setInventoryCode(beyondDos.getDosId());
			//设置供货商编号
			inventory.setAnnexId(beyondDos.getApplyId());
			//设置库存数量
			inventory.setInventoryNum(0);
			//调用增加库存记录的方法
			beyondInventoryMapper.addRecordById(inventory);
		}else{
			//不为空则是修改
			rows = beyondDosMapper.updateByPrimaryKeySelective(beyondDos);
		}
		//返回值
		return rows;
	}
}
